package sword.T64;

/**
 * @Author: 18362
 * @Create: 2022-04-10 19:41:06 星期日
 */
class Solution {
    /**
     * 题解：
     *  1. 求和可以使用求和公式，但是此题不能使用乘除，因此放弃
     *  2. 求和可以循环累加，但此题不允许使用for、while，因此放弃
     *  3. 可以使用递归，但递归终止需要if条件判断，但此题不允许使用if，可以借助逻辑表达式实现”短路“效应
     *      如：A && B中，如果A为false，则B不会计算，A || B中，如果A为true，则B不会计算
     *      本题可以使用上述两种短路效应的任意一种，作为递归终止条件
     */
    public int sumNums(int n) {
        int t = 0;
        boolean x = (n == 1) || (t = sumNums(n-1)) > 0;
        return t + n;
    }
}